package gof_001_创建型_Create.gof_002_工厂方法_FactoryMethod.gof_002_FactoryMethod;

/**
 * 符合开闭原则,对修改关闭,对扩展开放
 * 如果想要创建 CPU_i9 只需要再创建 i9 的类和 i9的工厂类
 * 但是会造成类膨胀,为了创建一个类,多了很多工厂类,还多了接口
 */
public class FactoryMethodMain {
    public static void main(String[] args) {

        CPU_i3 i3 = (CPU_i3) new CPU_I3Factory().getCPU();
        CPU_i5 i5 = (CPU_i5) new CPU_I5Factory().getCPU();
        CPU_i7 i7 = (CPU_i7) new CPU_I7Factory().getCPU();

        i3.calc();
        i5.calc();
        i7.calc();
    }
}
